package com.xydtech.ecard.merchant.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.xydtech.common.annotation.Excel;
import com.xydtech.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 电子名片预授信记录对象 ecard_prior_credit_record
 *
 * @author yuzhiguo
 * @date 2024-05-21 下午2:55
 */
public class EcardPriorCredit extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    private Long id;

    /** 客户类型，1个人，2商户 */
    @Excel(name = "客户类型", dictType = "ecard_cust_type")
    private String custType;

    /** 商户名称 */
    @Excel(name = "商户名称")
    private String merchantName;

    /** 商户地址 */
    @Excel(name = "商户地址")
    private String merchantAddress;

    /** 姓名 */
    @Excel(name = "姓名")
    private String name;

    /** 手机号码 */
    @Excel(name = "手机号码")
    private String phone;

    /** 身份证号 */
    @Excel(name = "身份证号")
    private String cardNum;

    /** 预授信额度（元） */
    @Excel(name = "预授信额度")
    private String carditLimit;

    /** 身份证头像面 */
    private String headUrl;

    /** 身份证国徽面 */
    private String badgeUrl;

    /** 办理合影 */
    private String pictureUrl;

    /** 有效期 */
    @Excel(name = "有效期")
    private String validity;

    /** 授信卡路径 */
    @Excel(name = "授信卡路径")
    private String preCreditUrl;

    /** 归属法人机构 */
    private Long deptId;

    /** 归属法人机构 */
    @Excel(name = "法人机构")
    private String deptName;

    /** 客户经理ID */
    private Long userId;

    /** 客户经理 */
    @Excel(name = "客户经理")
    private String userName;

    /** 拜访时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createTime;

    /** 管理表ID（如果从商户列表进来的则为商户表ID） */
    private Long associationId;

    /** 状态，1-正常 2-到期 3-作废 */
    @Excel(name = "状态", dictType = "ecard_pre_credit_sts")
    private String sts;

    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "起始日期", width = 30, dateFormat = "yyyy-MM-dd")
    private String beginDay;

    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "截止日期", width = 30, dateFormat = "yyyy-MM-dd")
    private String endDate;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setCustType(String custType)
    {
        this.custType = custType;
    }

    public String getCustType()
    {
        return custType;
    }
    public void setMerchantName(String merchantName)
    {
        this.merchantName = merchantName;
    }

    public String getMerchantName()
    {
        return merchantName;
    }
    public void setMerchantAddress(String merchantAddress)
    {
        this.merchantAddress = merchantAddress;
    }

    public String getMerchantAddress()
    {
        return merchantAddress;
    }
    public void setName(String name)
    {
        this.name = name;
    }

    public String getName()
    {
        return name;
    }
    public void setPhone(String phone)
    {
        this.phone = phone;
    }

    public String getPhone()
    {
        return phone;
    }
    public void setCardNum(String cardNum)
    {
        this.cardNum = cardNum;
    }

    public String getCardNum()
    {
        return cardNum;
    }
    public void setCarditLimit(String carditLimit)
    {
        this.carditLimit = carditLimit;
    }

    public String getCarditLimit()
    {
        return carditLimit;
    }
    public void setHeadUrl(String headUrl)
    {
        this.headUrl = headUrl;
    }

    public String getHeadUrl()
    {
        return headUrl;
    }
    public void setBadgeUrl(String badgeUrl)
    {
        this.badgeUrl = badgeUrl;
    }

    public String getBadgeUrl()
    {
        return badgeUrl;
    }
    public void setPictureUrl(String pictureUrl)
    {
        this.pictureUrl = pictureUrl;
    }

    public String getPictureUrl()
    {
        return pictureUrl;
    }
    public void setValidity(String validity)
    {
        this.validity = validity;
    }

    public String getValidity()
    {
        return validity;
    }
    public void setPreCreditUrl(String preCreditUrl)
    {
        this.preCreditUrl = preCreditUrl;
    }

    public String getPreCreditUrl()
    {
        return preCreditUrl;
    }
    public void setDeptId(Long deptId)
    {
        this.deptId = deptId;
    }

    public Long getDeptId()
    {
        return deptId;
    }
    public void setAssociationId(Long associationId)
    {
        this.associationId = associationId;
    }

    public Long getAssociationId()
    {
        return associationId;
    }
    public void setSts(String sts)
    {
        this.sts = sts;
    }

    public String getSts()
    {
        return sts;
    }

    public String getDeptName() {
        return deptName;
    }

    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    @Override
    public Date getCreateTime() {
        return createTime;
    }

    @Override
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public String getBeginDay() {
        return beginDay;
    }

    public void setBeginDay(String beginDay) {
        this.beginDay = beginDay;
    }

    public String getEndDate() {
        return endDate;
    }

    public void setEndDate(String endDate) {
        this.endDate = endDate;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("custType", getCustType())
                .append("merchantName", getMerchantName())
                .append("merchantAddress", getMerchantAddress())
                .append("name", getName())
                .append("phone", getPhone())
                .append("cardNum", getCardNum())
                .append("carditLimit", getCarditLimit())
                .append("headUrl", getHeadUrl())
                .append("badgeUrl", getBadgeUrl())
                .append("pictureUrl", getPictureUrl())
                .append("validity", getValidity())
                .append("preCreditUrl", getPreCreditUrl())
                .append("deptId", getDeptId())
                .append("createBy", getCreateBy())
                .append("associationId", getAssociationId())
                .append("createTime", getCreateTime())
                .append("sts", getSts())
                .append("deptName", getDeptName())
                .append("userId", getUserId())
                .append("userName", getUserName())
                .append("createTime", getCreateTime())
                .append("beginDay", getBeginDay())
                .append("endDate", getEndDate())
                .toString();
    }
}
